//void reserve(size_t n)
//{
//	if (n > capacity())
//	{
//		T* tmp = new T[n];
//		size_t sz = size();
//		if (_start)
//		{
//			memcpy(tmp, _start, sizeof(T) * sz);
//			delete[] _start;
//		}
//		_start = tmp;
//		_finish = _start + sz;
//		_endofstorage = _start + n;
//	}
//}
//
//void resize(size_t n, const T& val = T())
//{
//	if (n <= size())
//	{
//		_finish = _start + n;
//	}
//	else
//	{
//		reserve(n);
//		while (_finish < _start + n)
//		{
//			*_finish = val;
//			++_finish;
//		}
//	}
//}
//
//void insert(iterator pos, const T& x)
//{
//	assert(pos >= _start);
//	assert(pos <= _finish);
//
//	if (_finsih == _endofstorage)
//	{
//		reserve(capacity() == 0 ? 4 : capacity() * 2);
//	}
//
//	iterator end = _finish - 1;
//	while (end >= pos)
//	{
//		*(end + 1) = *end;
//		--end;
//	}
//	*pos = x;
//	++_finsih;
//}